package br.com.diego.system.controller.consultacomponente;

import br.com.diego.system.controller.cadastrocomponente.ComponenteVo;
import br.com.diego.system.entity.componente.Componente;
import br.com.diego.system.manager.componente.ComponenteManager;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;

public class ConsultaComponenteBuilder {

    @Autowired
    private ConsultaComponenteFactory consultaComponenteFactory;
    
    @Autowired
    private ComponenteManager componenteManager;

    public ComponenteVo retornar(ComponenteVo componenteVo) {
        Componente componente = new Componente();
        componente = componenteManager.buscarPeloId(componenteVo.getId());
        if (componente != null) {
            ComponenteVo vo = new ComponenteVo(componente);
            return vo;
        }
        return null;
    }

    public List<ComponenteVo> consultar(ConsultaComponenteVo consultaComponenteVo) {
       if (consultaComponenteVo.getTipoConsultaVo() == TipoConsultaVo.ID) {
            Assert.hasText(consultaComponenteVo.getFiltro(), "Filtro não informado!");
        }
        return consultaComponenteFactory.consultar(consultaComponenteVo);
    
    }
}
